Поняття бінарного дерева. Обхід бінарного дерева. Створення, відображення дерева. Вставлення, видалення елементів у бінарному дереві.

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування складних алгоритмів

Частина тексту файла

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ “КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО” ЗВІТ з лабораторної роботи №7 з навчальної дисципліни “Програмування складних алгоритмів” Тема: Поняття бінарного дерева. Обхід бінарного дерева. Створення, відображення дерева. Вставлення, видалення елементів у бінарному дереві. Варіант 7 Київ 20____ Мета: Набути навичок створення та обробки бінарних дерев. Теоретична частина: Дерево – це сукупність вузлів і відношень, що утворює ієрархічну структуру. Вузол (або вершина) дерева – це математична абстракція, яка моделює абстрактні об’єкти чи об’єкти реального світу. Вузол, як правило, має ім’я, яке називається його ключем або ідентифікатором. У вище наведеному прикладі, таким ідентифікатором є повний шлях до файлу або папки(разом з іменем). Відношення визначають зв’язки між вершинами типу батько-дитина. Ці зв’язки називаються гілками (ребрами) дерева. На малюнку зображено впорядковане бінарне дерево: / Дерево називається впорядкованим, якщо набір дітей кожного його вузла є впорядкований. Діти вузла впорядкованого дерева, як правило впорядковуються зліва на право, якщо інакший порядок окремо не зазначений. Впорядкування дерев використовується для співставлення вузлів, що не пов’язані співвідношенням типу батько-син. У даній роботі використовується послідовний спосіб проходження дерева. Який проходить дерево за наведеною схемою: / Кожна вершина бінарного дерева є структурою, що складається з чотирьох видів полів. Вмістом цих полів будуть відповідно: • інформаційне поле (ключ вершини); • службове поле (їх може бути декілька або жодного); • покажчик на ліве піддерево; • покажчик на праве піддерево. Завдання до роботи: Створити бінарне дерево та виконати завдання згідно варіанту: Варіант Використовуваний спосіб обходу дерева для виконання завдання Завдання  7 Послідовний 1. Реверсувати кожен елемент дерева, тобто якщо є елемент 345, то замінюємо його на 543. 2. Визначити в якому піддереві (лівому або правому) кількість парних елементів більша. Вивести ці елементи на екран для кожного піддерева окремо.   Результати виконання лабораторної роботи: / Дана програма спочатку створює дерево, а далі додає елементи, щоб заповнити дерево інформацією. Потім програма проходить кожен елемент дерева та реверсує ці елементи. Також програма рахує у якому піддереві парних елементів більше та виводить ці парні елементи. Програмний код: public class LR7 { public static void main(String[] args) { Tree tree = new Tree(); Tree.Node root = new Tree.Node(123); System.out.println("Бінарне дерево"); System.out.println("Початкове значення дерева - " + root.value); tree.insert(root, 106); tree.insert(root, 95); tree.insert(root, 45); tree.insert(root, 101); tree.insert(root, 118); tree.insert(root, 112); tree.insert(root, 121); tree.insert(root, 95); tree.insert(root, 167); tree.insert(root, 142); tree.insert(root, 136); tree.insert(root, 153); tree.insert(root, 215); tree.insert(root, 189); tree.insert(root, 329); System.out.println("Елементи дерева:"); tree.traverseInOrder(root); System.out.println("\nЕлементи дерева після реверсування:"); tree.reverse(root); tree.traverseInOrder(root); //повертаємось до початкового вигляду tree.reverse(root); int evenLeft = tree.evenNumbers(root.left); Tree.count1=0; int evenRight = tree.evenNumbers(root.right); if(evenLeft > evenRight) System.out.println("\nУ лівій частині парних чисел більше. У лівій " + evenLeft + ", а у правій " + evenRight); else if(evenLeft < evenRight) System.out.println("\nУ правій частині парних чисел більше. У правій " + evenLeft + ", а у лівій " + evenRight); else System.out.println("\nВ обох піддеревах рівна кількість парних чисел....
Антиботан аватар за замовчуванням

14.07.2023 12:07

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини